#pragma once

#include "BaseUserEvent.h"
#include "operationState.h"
#include <osgViewer/View>
#include <osg/Group>

class COsgShowCoordEvent : public CBaseUserEvent
{
public:
    COsgShowCoordEvent(osgViewer::View *view, osg::Group *root, osg::Group* textgroup) :
        CBaseUserEvent(view), mView(view), mRoot(root), textGroup(textgroup), isActivated(false)
    {
	}

protected:
	virtual bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa);

    virtual void updateActivatedStatus(const std::vector<OperatingState> vecOpState);

protected:
	std::vector<osg::Vec3d> vecWorldCoord;

    osg::ref_ptr<osgViewer::View> mView;
	osg::Group *mRoot;
    osg::Group* textGroup;
	bool isActivated;
};
